
# 可变化参数 ： 参数的个数是可以发送变化的，分别是列表形式和字典形式的可变化参数 。


# 1. 定义列表形式的可变参数 : *args
def add(x,y,*args):
    print(args)
    z = x + y + sum(args)
    return z


# 调用add
print(add(3,4))
print(add(3,4,5))
print(add(3,4,5,6,7,8))         # 传递多个参数

# 使用列表方式进行调用
print(add(3,4,*[5,6,7,8]))      # 传递列表
print(add(3,4,*(5,6,7,8)))      # 传递元组

# 2. 定义字典形式的可变参数 : **kwargs
def show_info(**kwargs):
    print(kwargs)
    return None

# 调用show_info
show_info()
show_info(a='hello')
show_info(a='hello',b='world')

# 传递字典
show_info(**{'a':'hello','b':'world','c':123})


# 列表形式和字典形式的参数结合使用
def show_info1(*args,**kwargs):
    print(args,kwargs)